#ifndef __SCENE_MSG_HANDLER__
#define __SCENE_MSG_HANDLER__


#include "Message/MsgHandlerLgc.h"
#include "Entity/EntityManagerIf.h"
#include "Scene/SceneManagerIf.h"
#include "Manager/DataManagerIf.h"
#include "Player/PlayerData.h"


class  SceneMsgHandler : public MsgHandlerLgc
{
public:
	SceneMsgHandler();
	~SceneMsgHandler();

	virtual bool initialize(IMsgHandlerInitData* data) ;

	virtual bool handleMsg(IMsg* pMsg);
protected:
	//
	//	message from client
	void onRcvCliMsg(IMsg* pMsg);
protected:
	//
	//
	IEntity*		m_wpCurEtt;
	PlayerData*		m_wpCurPlayer;

	//
	//	key: pid
	//	value: player entity
	IEntityManager*	m_wpEttMgrWorld;

	//
	//	key: sid
	//
	ISceneManager*	m_wpScnMgr;

	//
	//	map progress for all players online
	PlayerDataManager* m_wpPlayerDataMgr;

	IDataManager*	m_pScnDataMgr;
};




#endif